package com.wxzhou.wangzhuan.config;

import io.quarkus.qute.TemplateGlobal;
import jakarta.enterprise.context.ApplicationScoped;
import org.eclipse.microprofile.config.ConfigProvider;
import org.jboss.logging.Logger;

/**
 * 全局模板数据提供者
 * 使用@TemplateGlobal注解提供可在所有Qute模板中使用的全局变量
 */
@ApplicationScoped
public class GlobalTemplateData {
    
    private static final Logger LOG = Logger.getLogger(GlobalTemplateData.class);

    /**
     * 获取构建时间戳
     * 在模板中可以通过 {buildTimestamp} 访问
     */
    @TemplateGlobal(name = "buildTimestamp")
    public static String getBuildTimestamp() {
        try {
            String timestamp = ConfigProvider.getConfig().getValue("build.timestamp", String.class);
            LOG.debug("获取构建时间戳: " + timestamp);
            return timestamp;
        } catch (Exception e) {
            LOG.warn("无法从配置文件读取build.timestamp，使用默认值", e);
            return "1703123456";
        }
    }
    
    /**
     * 获取应用版本号
     * 在模板中可以通过 {appVersion} 访问
     */
    @TemplateGlobal(name = "appVersion")
    public static String getAppVersion() {
        return "1.0.0";
    }
    
    /**
     * 获取当前时间戳（每次访问都会更新）
     * 在模板中可以通过 {currentTimestamp} 访问
     */
    @TemplateGlobal(name = "currentTimestamp")
    public static String getCurrentTimestamp() {
        return String.valueOf(System.currentTimeMillis());
    }
} 